home *** CD-ROM | disk | FTP | other *** search
- /* ==================
- * Ped1ObjectDeity.hh
- * ==================
- *
- * Implemented by Ped1ObjectDeity.cc
- */
-
- #ifndef PED1OBJECTDEITY_HH
- #define PED1OBJECTDEITY_HH
-
- #include "PedestalDebugging.h"
-
- #include <Types.h>
-
- class PedObject;
-
- class PedWindow;
- class PedAgent;
- class PedTask;
-
- typedef OSType ObjCode;
- //typedef PedObject * (*PedFabricator)();
-
- /*
- template <class T>
- class PedClass {
- public:
- T *MakeInstance() = 0;
- };
- */
-
- class PedClassAgent {
- public:
- PedClassAgent(PedTask *inPrimaryTask) : mPrimaryTask(inPrimaryTask) {}
- virtual PedAgent *MakeAgent();
- protected:
- PedTask *mPrimaryTask;
- };
-
- class Ped1ObjectDeity {
- public:
- Ped1ObjectDeity() : mAgentClass(NULL) {}
- virtual PedAgent *CreateWindowAgent();
- virtual PedWindow *CreateWindow();
- virtual PedWindow *CreateTEWindow();
-
- //virtual void RegisterFabricator(ObjCode inCode, PedFabricator inFab);
- //virtual void RegisterClass(ObjCode inCode, PedClass<PedObject> *inClass);
- virtual void RegisterAgentClass(PedClassAgent *inClass);
-
- protected:
- //PedFabricator mFabAgent;
- PedClassAgent *mAgentClass;
- };
-
- extern Ped1ObjectDeity *gOD;
-
- #endif
-